package com.liming.common.pojo.entity.product;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.liming.common.pojo.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 商品实体类
 *
 * @author liming
 * @date 2025/1/3
 */
@Data
@TableName("se_product")
@EqualsAndHashCode(callSuper = true)
public class Product extends BaseEntity {

    /**
     * 商品的名称
     */
    private String name;

    /**
     * 商品的型号
     */
    private String modelNumber;

    /**
     * 商品的售价（以分为单位，整数型）
     */
    private Integer price;

    /**
     * 商品的原价（用于对比展示优惠情况，以分为单位，整数型）
     */
    private Integer originalPrice;

    /**
     * 商品的累计销售数量统计
     */
    private Integer salesCount;

    /**
     * 商品最新销售时间
     */
    private LocalDateTime saleTime;

    /**
     * 商品是否上架，1 表示上架，0 表示下架
     */
    @TableField("is_on_shelf")
    private Integer onShelf;

    /**
     * 商品所属品牌 ID
     */
    private Long brandId;

    /**
     * 品牌名称
     */
    private String brandName;

    /**
     * 商品所属分类 ID
     */
    private Long categoryId;

    /**
     * 分类名称
     */
    private String categoryName;

    /**
     * 商品的主图链接地址
     */
    private String mainImageUrl;

    /**
     * 商品的详情图片链接地址列表（可按约定格式存储，如逗号分隔）
     */
    private String detailImagesUrl;

    /**
     * 商品的视频介绍链接（可选）
     */
    private String videoLink;

    /**
     * 商品的详细参数（以合适格式存储各项参数）
     */
    private String parameters;

    /**
     * 商品的功能特点介绍内容
     */
    private String features;

    /**
     * 商品分数（基于用户行为） 定时存储
     */
    private Double activityScore;
}
